function read(filepath) {
try {
/*
On prévoie une erreur possible (peut-être le fichier désigné par
'filepath' n'existe pas… — ici, c'est pour voir si cette page aura
le droit d'aller lire un de vos fichiers)
Si un problème survient, javascript se rendra au "catch(e)" pour
récupérer le message d'erreur, et nous l'afficherons.
*/
//''On autorise le navigateur a ouvrir des fichiers locaux
//si par exemple, le script n'est pas lancé depuis une adresse chrome''
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
/*
Vos fichiers, votre ordinateur, est protégé pour que n'importe quelle
page web, avec un peu de javascript, ne puisse pas faire n'importe
quoi sur votre ordinateur personnel. C'est rassurant, mais ça oblige
à certaines contraintes comme celle-ci.
*/
} catch (e) {
/*
Si on passe ici, c'est que la permission de lire le fichier
a été refusée.
*/
alert("Permission refusée de lire le fichier (" + e + ")");
/*
On informe l'utilisateur.
*/
return '';
/*
C'est dommage, mais on doit s'en retourner bredouille (n'oubliez pas
que notre fonction "remplie()" attend un texte. Si on ne lui renvoie
rien, elle sera déçue et génèrera une erreur.
Ici, on aurait pu aussi renvoyer :
return "Le fichier ne peut être lu.";
… texte qui serait affiché à la place du contenu du fichier
*/
}
/*
Fin du "catch" défini ci-dessus.
*/
/*
Si on arrive là, c'est que l'ordinateur, le navigateur, nous
ont donné la permission de lire un fichier.
*/
//''Le fichier est ouvert''
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
/*
On appelle un service pour définir un fichier. Le code qui
précède signifie en quelque sorte : « je voudrais créer un
fichier qui s'appelera "file", merci pour le service » (faut
quand même rester poli…)
*/
file.initWithPath(filepath);
/*
On dit que ce 'file' aura pour chemin d'accès "filepath". Rappel :
c'est le 'uri' que nous avions défini tout en haut.
*/
/* Il faut vérifier quand même que ce fichier existe bien (une
erreur est si vite arrivée…). C'est ce que l'on fait ici : */
if ( file.exists() != true) {
// Si le fichier 'file' existe est faux (différent de true), alors…
alert("Le fichier "+filepath+" n'existe pas");
/*
Dire à l'utilisateur que le fichier n'existe pas.
Note : soit il n'existe pas, soit c'est une erreur dans
l'écriture du chemin d'accès au fichier.
*/
return '';
/* On doit encore une fois s'arrêter là, sans oublier de renvoyer
un texte, même vide, puisque c'est ce qu'attend notre fonction
principale */
}
// Fin de la vérification de l'existence du fichier
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.